/*
 * Job.h
 *
 *  Created on: 2011-10-18
 *      Author: mateusz
 */

#ifndef JOB_H_
#define JOB_H_

class Job {
public:
	Job(int id, int readyTime, int procsNumber, int runTime);
	virtual ~Job();

	void reset();
	void setReady();
	void startJob();
	void finishJob();

	bool isReady();
	bool isStarted();
	bool isFinished();

	int getId();
	int getReadyTime();
	int getProcsNumber();
	int getRunTime();

	int getWaitTime();
	void setWaitTime();

private:
	int id; // tasks ID
	int readyTime; // time when task is ready
	int procsNumber;// number of processors
	int runTime; // run time of task
	int status; // 0 - not ready, 1 - ready and not starter, 2 - work in progress, 3 - finished
	int waitTime;
};

#endif /* JOB_H_ */
